# 从Django的数据库模块中导入Model基类
from django.db import models
# 从Django的认证系统中导入User模型，用于表示系统的用户
from django.contrib.auth.models import User

# 定义一个名为Player的模型，代表玩家
class Player(models.Model):
    # 定义一个一对一字段，关联到Django的User模型
    # 这意味着一个Player实例将唯一地关联到一个User实例
    # on_delete=models.CASCADE表示如果关联的User被删除，那么这个Player也会被删除
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    
    # 定义一个URL字段，用于存储玩家的照片URL
    # max_length=256指定了URL的最大长度
    # blank=True表示在表单验证时，这个字段可以为空
    photo = models.URLField(max_length=256, blank=True)

    score = models.IntegerField(default=1500)

    # 定义__str__方法，用于指定当需要将Player实例转换为字符串时的行为
    # 这里简单地返回了关联的User实例的字符串表示
    def __str__(self):
        return str(self.user)
